home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
CRS
/
crs03.d81
/
asc2pet.v2
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2009-10-10
|
3KB
|
85 lines
100 REM "C64 ACSII FILE TO CBM SEQ"
110 DIMS(9),W(9):Z$=CHR$(0):POKE53280,0:POKE53281,0
120 S$=" "
130 FORI=49152TO49309:READA:POKEI,A:NEXT
140 PRINT"[147][159] [193][211][195][201][201] TO [208][197][212][211][195][201][201] [198]ILE [195]ONVERTER [214]2 "
150 PRINT" [198]OR [195]64 "
160 PRINT" [196]ONATED TO [208]UBLIC [196]OMAIN "
170 PRINT" [194]Y [210]USSELL [208]RATER "
180 PRINT"[197]NTER INPUT FILE NAME";:INPUTN$
190 PRINT"[197]NTER INPUT FILE TYPE [211]/[208]/[213] S[157][157][157]";:INPUTFT$
200 IFFT$<>"P"ANDFT$<>"U"THENFT$="S"
210 PRINT"[197]NTER INPUT DEVICE NUMBER 8[157][157][157]";:INPUTID
220 IFLEN(N$)=0ORID<8ORID>11THEN180
230 OD=9:IFID=9THENOD=8
240 FT$=","+FT$+",R":OPEN2,ID,2,N$+FT$:CLOSE2
250 OPEN15,ID,15:INPUT#15,E,M$:CLOSE15:PRINTM$:IFETHEN610
260 PRINT"[197]NTER OUTPUT FILE NAME";:INPUTO$
270 PRINT"[197]NTER OUTPUT DEVICE NUMBER "OD"[157][157][157][157]";:INPUTOD
280 IFLEN(O$)=0OROD<8OROD>11THEN230
290 PRINT"[159][211]WAP SOME CHARACTERS (Y/[206]) "
300 GETS$:ON-(S$="")GOTO300:IFS$<>"Y"THEN400
310 PRINT"[147][197]NTER NUMBER TO REPLACE AND"
320 PRINT"TO REPLACE WITH. 9 SWAPS MAX."
330 PRINT"[210]ETURN ON BLANK LINE TO [209]UIT":PRINT"[210]EPLACE #"TAB(12)"[215]ITH #"
340 S1$="":INPUTS1$:IFS1$=""THEN370
350 INPUT"[145]";S2$:S=S+1
360 S(S)=VAL(S1$):W(S)=VAL(S2$):IFS<9THEN340
370 PRINT"[193]RE THE CHANGES CORRECT? ([217]/N) ";
380 GETA$:ON-(A$="")GOTO380:IFA$="N"THENS=0:GOTO310
390 PRINT"[217]":POKE49289,S:FORI=1TOS:POKE49289+I,S(I):POKE49299+I,W(I):NEXT
400 PRINT"[212]RANSLATE [193][211][195][201][201] TO [208][197][212]? (Y/[206]) ";
410 GETT$:IFT$<>"Y"ANDT$<>"N"ANDT$<>CHR$(13)THEN410
420 T1$="[206]":T=0:IFT$="Y"THENT1$="[217]":T=1
430 PRINTT1$:POKE49288,T
440 PRINT"[204]IMIT OUTPUT FILE SIZE? (Y/[206]) ";:POKE198,0
450 GETA$:IFA$=""THEN450
460 IFA$<>"Y"ANDA$<>"N"ANDA$<>CHR$(13)THEN450
470 FL$="[206]":IFA$="Y"THENFL$="[217]"
480 PRINTFL$:IFFL$="[206]"THEN590
490 PRINT"[204]IMIT TO HOW MANY BLOCKS";:INPUTFS$:FS=VAL(FS$)
500 IFFS=0ANDFL$="[217]"THEN440
510 GOSUB620:OPEN2,ID,2,N$+FT$:POKE49287,FS
520 O$=LEFT$(O$,14)+CHR$(32)
530 GOSUB550:IFA=0THEN530
540 GOTO610
550 CLOSE3:X=X+1:POKE49286,0
560 B=B-FS:IFB<2THENGOSUB700:GOSUB620:GOTO560
570 OPEN3,OD,3,O$+CHR$(64+X)+",S,W"
580 SYS49152:A=PEEK(780):RETURN
590 IFID=ODTHENGOSUB650:IFC>=BTHENGOSUB690:GOTO610
600 OPEN2,ID,2,N$+FT$:OPEN3,OD,3,O$+",S,W":SYS49152
610 CLOSE2:CLOSE3:END
620 B$="":OPEN4,OD,0,"$:":FORI=0TO1:GET#4,A$:I=ST
630 A=ASC(A$+Z$):B$=B$+CHR$(A):NEXT:CLOSE4
640 B=ASC(MID$(B$,35))+ASC(MID$(B$,36))*256:RETURN
650 B$="":OPEN4,OD,0,"$:"+N$:FORI=0TO1:GET#4,A$:I=ST
660 A=ASC(A$+Z$):B$=B$+CHR$(A):NEXT:CLOSE4
670 C=ASC(MID$(B$,35))+ASC(MID$(B$,36))*256
680 B=ASC(MID$(B$,67))+ASC(MID$(B$,68))*256:RETURN
690 PRINT"[158] [206]OT ENOUGH ROOM ON DISK! [159]":RETURN
700 PRINT:PRINT"[158] [207]UTPUT [196]ISK [198]ULL! [159]"
710 PRINT"[208]LEASE INSERT A [198]ORMATED [196]ISK"
720 PRINT"IN [196]EVICE"OD"AND [208]RESS [210][197][212][213][210][206]":POKE198,0
730 GETA$:IFA$=""THEN730
740 PRINT"[145][145][145]"S$S$S$S$"[145][145][145][145][145]":RETURN
750 DATA 169,157,133,251,169,192,133,252
760 DATA 162,2,32,198,255,160,2,32
770 DATA 207,255,166,144,134,253,201,10
780 DATA 240,245,174,137,192,240,14,221
790 DATA 137,192,208,6,189,147,192,24
800 DATA 144,30,202,208,242,174,136,192
810 DATA 240,22,201,65,144,18,201,91
820 DATA 176,4,9,128,144,10,201,97
830 DATA 144,6,201,123,176,2,41,223
840 DATA 145,251,166,253,208,5,200,132
850 DATA 254,208,188,32,204,255,162,3
860 DATA 32,201,255,160,2,177,251,32
870 DATA 210,255,200,196,254,208,246,32
880 DATA 204,255,169,46,32,210,255,173
890 DATA 135,192,240,11,238,134,192,173
900 DATA 134,192,205,135,192,240,4,166
910 DATA 253,240,133,165,253,96,0,0
920 DATA 0,0,0,0,0,0,0,0,0,0,0
930 DATA 0,0,0,0,0,0,0,0,0,0,0